package sortmodule;

import java.util.Arrays;

/**
 * @author by 何坤
 * @Classname InsertSort
 * @Description 直接插入排序
 * @Date 2019/10/21 17:43
 */
public class InsertSort {
    public static void main(String[] args) {
        int[] ints = {6,1,9,2,78,45,91,45,26,11,15};
//        sort1(ints);
        sort2(ints);
        Arrays.stream(ints).forEach(System.out::println);
    }

    /**
     * 从小到大
     * @param
     * @param arr
     * @return void
     * @date 2019/10/21 17:56
     * @author 何坤
     */
    private static void sort1(int[] arr){
        for (int i=1; i<arr.length; i++){
            int k = arr[i];
            int j = i - 1;
            while(j>=0 && arr[j]>k){
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = k;
        }
    }

    /**
     * 从大到小
     * @param
     * @param arr
     * @return void
     * @date 2019/10/21 17:56
     * @author 何坤
     */
    private static void sort2(int[] arr){
        for (int i=1; i<arr.length; i++){
            int k = arr[i];
            int j = i -1;
            while (j >= 0 && arr[j] < k){
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = k;
        }
    }
}
